Velocity estimation from imagery using symmetric displaced frame difference equation

ABSTRACT

A method and apparatus for processing an image sequence described herein that provides a symmetric displaced frame difference equation. Next, an input image sequence can be received that includes a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times. Finally, using at least one processor, the symmetric displaced frame difference equation can be solved using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 13/323,975, filed on Dec. 13, 2011, which claims priority to and the benefit of U.S. Provisional Patent Application Ser. No. 61/422,758, filed Dec. 14, 2010, the entirety of both applications which are hereby incorporated by reference. This application also claims priority to provisional patent application entitled, “Adaptive Quantum Communication,” filed on Sep. 14, 2012, and assigned U.S. Application No. 61/701,024; the entire contents of which are hereby incorporated by reference.

FIELD OF THE INVENTION

The present disclosure relates generally to image processing and more particularly to apparatus and techniques for motion determination or estimation in processing image data.

BACKGROUND

Computer vision and remote sensing applications often utilize motion determination from an image sequence for video coding or other purposes. The determination of a displacement or motion field under brightness or tracer conservation constraints from an image sequence has thus far been considered an under-constrained problem. In general, the determination of the instant velocities from an image sequence or a physical displacement field from a featureless image sequence is ill-posed. Conventional motion estimation involves finding a velocity or displacement field using successive image frames, and existing motion estimation models and algorithms assume that the image intensity recorded from different physical sensors obey a conservation constraint for tracer, heat, or optical flow in space and time.

The inverse problem of the determination of the motion field under brightness (or tracer) conservation constraint from an image sequence has been considered as an under-constrained problem because two unknown velocity components must be derived from a single conservation equation at each of these pixel points, which is sometimes referred to as the aperture problem. The aperture problem indicates that the physical observation may not be consistent with the physical motion if there are not enough texture structures on moving objects. The physical determination of a displacement vector in a featureless image sequence is ill-posed, but this texture dependent problem is different from the under-constrained problem. In the past, the under-constrained problem has been addressed by using different models or frameworks with additional constraints and assumptions. For instance, Pel-Recursive techniques have been proposed, and differential techniques have been proposed using regularization, uniform velocity in a block (template), gradient conservation, and velocity field modeling with bilinear or B-spline type constraints. In addition, Bayesian methods have been proposed in which the motion field is modeled as a Markovian random field. However, these conventional techniques suffer from computational inefficiencies and inaccuracies which can lead to errors in video coding and other computer vision and remote sensing applications. Accordingly, a need remains for improved methods and apparatus for processing image sequence data to determine displacement by motion compensation.

SUMMARY OF THE INVENTION

Various details of the present disclosure are hereinafter summarized to facilitate a basic understanding, where this summary is not an extensive overview of the disclosure, and is intended neither to identify certain elements of the disclosure, nor to delineate the scope thereof. Rather, the primary purpose of this summary is to present some concepts of the disclosure in a simplified form prior to the more detailed description that is presented hereinafter.

In an exemplary embodiment of the invention, a method for processing an image sequence described herein that provides a symmetric displaced frame difference equation. Next, an input image sequence can be received that includes a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times. Finally, using at least one processor, the symmetric displaced frame difference equation can be solved using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector. The multidimensional image data of the pair of frames can be two-dimensional, and the symmetric displaced frame difference equation can be:

DFCD_(ij) =I(i+u _(ij) Δt _(h) ,j+v _(ij) Δt _(h) ,t ₂)+−I(i−u _(ij) Δt _(h) ,j−v _(ij) Δt _(h) ,t ₁)=0.

Solving the symmetric displaced frame difference equation can include using at least one iteration equation derived from the symmetric displaced frame difference equation by conversion to a fully or over-constrained system using a nonlinear least squares model of the displacement field. Additionally, solving the symmetric displaced frame difference equation can include using at least one bilinear polynomial function expressing a multidimensional displacement field.

In an alternative exemplary embodiment, a motion estimator apparatus can include at least one processor, and a memory storing a symmetric displaced frame difference equation. The at least one processor can be configured to receive an input image sequence comprising a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times, and the at least one processor can be further configured to solve the symmetric displaced frame difference equation using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.

In an alternative exemplary embodiment, a computer readable medium with computer executable instructions can be configured to provide a symmetric displaced frame difference equation; receive an input image sequence comprising a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times; and solve the symmetric displaced frame difference equation using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.

These and other aspects, objects, and features of the present invention will become apparent from the following detailed description of the exemplary embodiments, read in conjunction with, and reference to, the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The following description and drawings set forth certain illustrative implementations of the disclosure in detail, which are indicative of several exemplary ways in which the various principles of the disclosure may be carried out. The illustrated examples, however, are not exhaustive of the many possible embodiments of the disclosure. Other objects, advantages and novel features of the disclosure will be set forth in the following detailed description of the disclosure when considered in conjunction with the drawings, in which:

FIGS. 1 and 2 are schematic diagrams illustrating an input video image sequence which includes first and second image frames and corresponding pixel data obtained at different times;

FIG. 3 is a schematic diagram illustrating an exemplary processor-implemented motion estimator apparatus using a fully constrained set of nonlinear equations to determine a displacement vector field from the input image sequence of FIGS. 1 and 2;

FIG. 4 is a schematic diagram illustrating an exemplary fully constrained set of nonlinear equations including forward and backward displaced frame difference equations and two forward displacement vector invariant equations in the motion estimator apparatus of FIG. 3;

FIG. 5 is a schematic diagram illustrating another exemplary fully constrained set of nonlinear equations including forward and backward displaced frame difference equations and two backward displacement vector invariant equations in the motion estimator apparatus of FIG. 3;

FIGS. 6A and 6B are flow diagrams illustrating an exemplary method for processing an image sequence having two image frames to estimate a motion vector field in accordance with the present disclosure;

FIG. 7A is a vector diagram illustrating an exemplary forward displacement vector;

FIG. 7B is a vector diagram illustrating a corresponding backward displacement vector;

FIG. 7C is a vector diagram illustrating exemplary displacement vectors corresponding to a pair of moving particles in an image sequence;

FIGS. 8 and 9 are schematic diagrams illustrating a portion of an exemplary image frame partitioned into blocks;

FIG. 10 is a flow diagram illustrating an exemplary adaptive framework for solving a system of equations in accordance with further aspects of the present disclosure; and

FIG. 11 is a detailed flow diagram illustrating an adaptive process or framework for solving a system of equations for motion estimation in accordance with further aspects of the present disclosure.

FIG. 12 is a plot of a motion particle trajectory, instant velocities at time t₁ and t₂, and a displacement vector between initial and final positions at time t₁ and t₂.

FIG. 13 is a coarser node point in grid.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

One or more embodiments or implementations are hereinafter described in conjunction with the drawings, where like reference numerals refer to like elements throughout, and where the various features are not necessarily drawn to scale.

FIG. 1 illustrates an input image sequence 10 with a plurality of image frames 12 including a first image frame 12 ₁, a final frame 12 _(n), and one or more intervening frames 12 wherein the input sequence 10 can include any number “n” frames 12, where n is an integer greater than 1. As seen in FIG. 2, each individual image frame 12 _(i) includes an integer number of pixel data values, each corresponding to a two-dimensional pixel location in an X-Y plane, where each pixel location is indicated with an integer subscript index “i” indicating an X direction pixel index (1≦i≦I) and an integer subscript index “j” indicating a Y direction pixel index (1≦j≦J). In the illustrated example, moreover, the image data represents optical (e.g., visible) data, such as video frames 12, where the input sequence 10 shows a vehicle artifact 14 moving towards a lower right corner of the image frame as the sequence proceeds from an initial (e.g., first) time t₁ (frame 12 ₁) to a final (e.g., second) time t₂ (frame 12 _(n)). In practice, as is known, the individual image data for a given pixel location i,j can be a single value representing light intensity (luminance) and/or an individual data point may include luminance as well as color or chrominance data values (e.g., L*a*b*, RGB, CMYK data, etc.). In other embodiments, the image sequence 10 can include multidimensional image data representing “thermal” images, for instance, where the data values represent temperature, or other image sequences can be used in which the image intensity is recorded from physical sensors, for tracer, heat, or optical flow in space and time.

FIG. 3 illustrates an exemplary motion estimator apparatus 100 that can perform various image processing tasks including determining or estimating a motion or displacement field 140 from an input image sequence 10 having a first image frame 12 _(t1) including multidimensional image data corresponding to a plurality of pixel locations i, j at a first time t₁, and a second image frame 12 _(t2) including multidimensional image data corresponding to a plurality of pixel locations at a second time t₂. The apparatus 100 can be used to determine a displacement field 140 according to the disclosed techniques for any two image frames 12, which may but need not be the initial and final frames 12 of an input image sequence 10. The apparatus 100 includes one or more processors 110 operatively coupled with a memory 120, and the apparatus 100 can be implemented in a single processing device or in distributed fashion across two or more processing elements 110. In the illustrated embodiment of FIG. 3, the processor 110 implements a PROC equation solver 110 a used for solving iteration equations 132 with a Progressive Relaxation of the Over-Constraint (PROC) algorithm, as well as a Motion Vector Solver 110 b is designed for solving the motion vectors at time t=t₂ with a bilinear motion vector function 134 during an iteration. In addition, the motion estimator apparatus 100 may form part of a larger system, such as a video processor coupled to a transmitter, a video camera, a frame rate up-converter, etc.

The estimator apparatus 100 receives the input image sequence 10 and generates a displacement vector field 140 which can be stored in the internal memory 120 and/or maybe outputted by the apparatus 100 alone or as part of a processed image sequence 200. In addition, the estimator provides an equation system 130, which may be stored in the electronic memory 120. The illustrated estimator 100 further includes at least one iteration equation 132 and the bilinear displacement (or motion) vector function 134, which can be stored in the memory 120 or otherwise be accessible for use by the processor 110 in performing the displacement field estimation function set forth herein. In particular, the iteration equations 132 in certain embodiments are derived from the equation set 130 by conversion to a fully or over-constrained system using a nonlinear least squares model of the displacement field, as discussed further below. In addition, the bilinear motion vector function 134 in certain embodiments expresses a multidimensional displacement field. The bilinear displacement vector function 134 in certain embodiments can be represented by compact form shown in equation (10) below.

The equation system 130 is a fully constrained nonlinear equation set of equations, where four exemplary equations are illustrated in the example of FIG. 3. In this regard, the derived or estimated displacement field 140 describes displacement vectors Δr_(ij)(t₁) or Δr_(ij)(t₂) at pixel locations i,j at one of the first and second times t₁ or t₂, for example a first displacement vector r_(ij)(t₁)=(x_(ij)(t₁), y_(ij)(t₁)) at t₁, or a second displacement vector r_(ij)(t₂)=(x_(ij)(t₂), y_(ij)(t₂)) at t₂. In the illustrated two dimensional case, the equation set 130 includes a forward displaced frame difference equation (FDFD_(ij)), a backward displaced frame difference equation (BDFD_(ij)), and two displacement vector invariant equations (DVI_(ij)), which are shown as equations (7) and (8) below. In one embodiment shown in FIG. 4, the third and fourth equations of the set 130 are forward displacement vector invariant equations (FDVI), and in another embodiment shown in FIG. 5, the third and fourth equations are backward DVI equations (BDVI). Using the image data from the two received input frames 12 _(t1) and 12 _(t2) corresponding to times t₁ and t₂, the processor 110 is programmed to solve the equation set 130 to determine a displacement field (140) describing displacement vectors Δr_(ij)(t₁) or Δr_(ij)(t₂) at pixel locations i, j at t₁ or t₂ using initial conditions 136 including presetting displacement field values at the other time. In this regard, the set of four equations 130 has a total of four unknown variables for each pixel location i, j, namely x_(ij)(t₁), y_(ij)(t₁), x_(ij)(t₂), and y_(ij)(t₂), and therefore the equation set 130 is fully constrained without approximation and without imposition of any additional constraints or assumptions.

In certain embodiments, the PROC equation Solver 110 a is programmed to solve the equation set 130 using an iterative numerical and PROC techniques to determine the displacement field 140, and may employ any suitable initial conditions and loop termination logic, including without limitation a maximum number of iterations per pixel location i, j, alone or in combination with termination based on computed value changes being less than a predetermined threshold value. In certain embodiments, the Motion Vector Solver 110 b solves the equations (3) and (4) below using a damped Newton-Raphson method with suitable initial values used in the computation. In other embodiments, the Motion Vector Solver 110 b solves the equations (3) and (4) using bilinear modeling of the displacement field 140. The estimator 100 may provide the derived displacement field 140 for use in a variety of applications, such as video processing using an interpolator to construct one or more additional frames for frame rate up-conversion. In another example, the estimator 100 may provide the displacement field 140 for use with compression processing in a video encoder for selectively dropping certain frames 12 received with the input image sequence 10.

FIGS. 6A and 6B illustrate an exemplary method 300 for processing image data from an input image sequence 10 in accordance with further aspects of the present disclosure. While the method 300 is illustrated and described below in the form of a series of acts or events, it will be appreciated that the various methods of the disclosure are not limited by the illustrated ordering of such acts or events. In this regard, except as specifically provided hereinafter, some acts or events may occur in different order and/or concurrently with other acts or events apart from those illustrated and described herein in accordance with the disclosure. It is further noted that not all illustrated steps may be required to implement a process or method in accordance with the present disclosure, and one or more such illustrated acts may be combined or omitted. The illustrated method 300 may be implemented in hardware, processor-executed software, or combinations thereof, such as in the exemplary motion estimator apparatus 100 described above, and may be embodied in the form of computer executable instructions stored in a computer readable medium, such as in a memory 120 operatively associated with the processor 110 in one example.

At 302 in FIG. 6A, an input image sequence 10 is received including two frames, where the frame 12 _(t1) includes a plurality of data values at time t₁ I(i, j, t₁), and the second frame 12 _(t2) includes data values I(i, j, t₂) at time t₂ (e.g., image intensity data “I”, which itself can be multidimensional (e.g., CMYK, etc.), and can represent optical, thermal, or other image data types, where the input frames 12 can be stored in the estimator memory 120 in certain embodiments. The method 300 also includes presetting initial values of the motion field at an initial reference time (e.g., t₁) at 304. In one possible implementation illustrated in FIG. 6A, seed values for the velocity vector components u_(ij)(t₁) and v_(ij)(t₁) are initialized at 304 to be 0.01 for each pixel location i, j, although this is one non-limiting example. A block size integer value (n₀) is preset at 306, which represents an integer number of pixels within an analysis block or tile of the images 12, and in certain embodiments sets the values for n_(x) and n_(y) to indicate the number of interpolation points on the orthogonal “x” and “y” directions of the image frames 12. In the example of FIG. 6A, any integer value can be used for presetting the block size n₀, such as 5 in one implementation. At 306, moreover, an initial iteration block size n is preset to an integer value that is greater than n₀ (e.g., n is initially set to be n₀+10 in one example). As discussed below, certain embodiments of the displacement field estimator apparatus 100 implements a progressive relaxation algorithm in which the block size “n” is selectively reduced during iteration to progressively relax an amount of over-constraint of the equation set 130. At 308, a loop count parameter “Z” is preset to an integer value, such as 10 in one example. In addition, an initial Levenburg-Marquardt factor λ is preset at 310 for the iteration processing. In one example, this factor λ is preset to 0.001, although other values can be used.

At 320 in FIG. 6A, a fully constrained nonlinear equation set is provided (e.g., equation set 130 in FIGS. 3-5 above) that includes a forward displaced frame difference equation (e.g., FDFD_(ij)), a backward displaced frame difference equation (e.g., BDFD_(ij)), and two or more displacement vector invariant equations (e.g., DVI_(ij)), which can be forward DVI equations (FIG. 4) or backward DVI equations (FIG. 5). The equation set is then solved for the displacement field (e.g., displacement field 140) at one of the first and second times (t₁, t₂) using known or estimated displacement field values at the other of the first and second times (t₁, t₂). Any suitable numerical technique can be employed at 330 to solve the equation set 130, such as Damped Newton-Raphson or other iterative technique, using bilinear modeling of the displacement field 134, etc., wherein any suitable initial values and termination conditions may be employed.

In the illustrated embodiment, the displacement vectors on node points are solved at 130 (FIG. 6A) by the iteration equations 132 and the displacement field estimate Δr_(ij)(t₁) is updated and Δr_(ij)(t₂) is solved in the local domain Ω_(k1) (FIGS. 8 and 9 below), after which the process 300 proceeds to 360 in FIG. 6B where a cost function is evaluated. A determination is made at 340 (FIG. 6B) as to whether the cost function is minimized or another termination condition is satisfied. If so (YES at 340), a determination is made at 350 as to whether the block size “n” is equal to the final block size value n₀ preset at 304 in FIG. 6A. If so (YES at 350), the motion field estimation is complete at 360.

If the cost function is not minimized and no other termination conditions are satisfied (NO at 340 in FIG. 6B), the Levenburg-Marquardt factor λ is multiplied by 10 for the next iteration at 342, and the process 300 returns to again solve the displacement vectors at 320 and the iteration equations at 330 in FIG. 6A. This iterative algorithm continues as described above until the cost function is minimized or another termination condition is satisfied (YES at 340) and the block size “n” has not yet reached the preset value of n₀ (NO at 350). In this case, a determination is made at 352 as to whether the preset value “Z” iterations have occurred since the last adjustment to the block size parameter “n”. If so (YES at 352), the block size “n” is decremented at 354, and the displacement field estimate Δr_(ij)(t₁) is updated at 356, after which the process 300 returns to again solve the iteration equations at 330 in FIG. 6A. Otherwise (NO at 352 and FIG. 6B), the current block size value “n” is maintained, the displacement field estimate Δr_(ij)(t₁) is updated at 356, and the process 300 returns to 330 in FIG. 6A for further iterations. In this manner, the process 300 provides an iterative approach for estimating the Δr_(ij)(t₁)={Δx_(ij)(t₁), Δy_(ij)(t₁)} at the reference time t₁ using the bidirectional DFD and DVI equations and the iteration equations 132 in the system 130.

As noted above, the motion estimator apparatus 100 employs a fully constrained nonlinear system of equations 130 which includes forward and backward displaced frame difference equations (EQ1 and EQ2 in FIG. 3 above) as well as two or more displacement vector invariant equations (EQ3 and EQ4 in FIG. 3). In addition, the displacement vector invariant equations may be either forward DVI equations or backward DVI equations in certain embodiments.

As further discussed below, the inventor has appreciated that such an equation set 130 facilitates motion determination from an image sequence in a variety of computer vision and remote sensing applications such as velocity or displacement estimation from motion, object tracking or recognition, medical imaging, advanced video editing, and ocean surface current estimation. The use of this fully constrained equation set 130 without having to make further approximations or to impose any additional constraints or assumptions provides a novel solution to the inverse problem of motion estimation in two successive image frames 12. In this regard, determination of the instant velocity is ill-posed because the information about the path and rate is lost after a temporal sampling. If the images have enough texture morphologies, both initial and final configurations of a moving particle are recorded by the image sequence. The inverse problem for determination of the displacement field 140, however, is well-posed because both initial and final positions can be determined and observed physically based on the input image sequence 10.

The inventor has appreciated that if the initial and final positions of a particular artifact (e.g., artifact 14 in FIG. 2 above) can be physically observed and determined from an image sequence, a fully constrained system of equations 130 can be constructed for resolving the inverse problem. If the initial and final positions cannot be physically determined or observed, the fully constrained equation system 130 can still be used to solve the inverse problem, although there may exist multiple solutions of the fully constrained (nonlinear) system 130 that are consistent with the physical observation. In addition, all motion fields are defined by the displacement field 130 or the average (conservative) velocity fields denoted by v= v=Δr/Δt, where Δr is the displacement vector and Δt=t₂−t₁ is the time difference between image frames at time t₁ and t₂.

As used herein, “conservative velocity” is not intended to mean that the physical velocity is a conservative quantity. This concept of equivalent motion fields between the displacement and the conservative velocity is based on the definition. If the initial and final positions of a moving particle or artifact in two successive frames are the only input information, the unique total displacement vector may be associated with many different intermediate dynamic motion states. However, only the motion with the conservative velocity is collinear with the displacement trajectory (a straight line). Focusing strictly on the initial and final results, the conservative velocity as used herein is the resolved velocity field, i.e., the solved velocity is only an average (conservative) velocity. To avoid any misunderstanding on this concept, all derivations in this disclosure are based on the displacement vector field 140 that describes displacement vectors (Δr_(ij)(t₁), Δr_(ij)(t₂)) with respect to pixel locations (i, j) at the first and second times (t₁, t₂). In this respect, it is understood that there is only limited information available from an input image sequence 10 to study the inverse problem without any way of absolutely knowing the real physical (dynamic) processes or the identity of physical objects, which can be rigid bodies, liquid flow, or deformed objects in an image scene 12, but the above described processed 300 can be advantageously employed to determine motion fields that are consistent with the physical observation.

To illustrate, a function I(r, t) is defined as a scalar property (e.g., intensity) of a continuum of particles that may be expressed as a point function of the coordinates (r=r(t)), where “r” is a multidimensional position (e.g., x and y positions in a two dimensional example). In other examples, depending on the application, I(r, t) can be defined as the intensity of the optical flow (in computer vision), the tracer concentration (ocean color), or the temperature of heat flow (in geosciences and remote sensing). If the intensity between two images is conserved, then the following equation (1) represents the conservation constraint, regardless of a source term:

$\begin{matrix} {{\frac{I}{t} = {{\left( {\frac{\partial}{\partial t} + {v \cdot \nabla}} \right)I} = 0}},} & (1) \end{matrix}$

where the operator

$\frac{}{t}$

denotes a total derivative with respect to time t, and

$v = {\frac{r}{t} = {v\left( {{r(t)},t} \right)}}$

is the velocity vector in Cartesian coordinates. Equation (1) is sometimes referred to as the optical flow or brightness conservation constraint equation (in computer vision), or the heat flow or tracer conservation equation (in geophysics), and is a differential form of conservation constraint. The differential form of the conservation constrained equation (1) which contains linear terms of the components of the velocity holds only for infinitesimal or close infinitesimal motions. In order to constrain the image scenes at time t=t₁ and t=t₂, equation (1) is an integrated from time t₁ to t₂ as follows:

$\begin{matrix} {{{\int_{t_{1}}^{t_{2}}{\frac{{I\left( {{r(t)},t} \right)}}{t}\ {t}}} = {{{I\left( {{t\left( t_{2} \right)},t_{2}} \right)} - {I\left( {{r\left( t_{1} \right)},t_{1}} \right)}} \equiv 0}},} & (2) \end{matrix}$

where r(t₁) and r(t₂) are the position vectors at time t₁ and t₂. If a displacement vector field is defined by Δr=r(t₂)−r(t₁), then the displaced frame difference (DFD) equation is given by DFD=I(r(t₁)+Δr, t₂)−I(r(t₁),t₁)≡0. The conservation constraint equation (1) is thus temporally integrated into the path independent equation (2). It is noted that although the DFD equation is an implicit function on the displacement field 140, the two path independent terms in equation (2) correspond to the initial and final states of motion associated with the two successive frames for this conservation system. Employing the DFD equation derived by integrating between time of two successive frames can achieve higher accuracy in comparison with the differential form of the conservation constraint optical flow equation (1) (a first order term of Taylor expansion of the DFD), especially for large scale displacement motion estimation. As the image intensity change at a point due to motion has only one constraint equation (1), while the motion vector at the same point has two components (a projection case), the motion field was previously believed to be not computable without an additional constraint.

Referring also to FIGS. 7A-7C, the displacement vector Δr(r(t₁),t₁) (forward displacement vector) connects the initial and final positions of the particle 402 as shown in the plot 400 of FIG. 7A and the velocity field is the time rate of change of the property with respect to specific particles of the moving continuum. The same displacement vector on an image scene at time t₁ and t₂ may have two different forms. We define these displacement vectors Δr(r(t₁),t₁) and Δr(r(_(t2)),t₂) as shown in the graph 404 10 of FIGS. 7A and 7B as forward and backward displacement vectors, respectively. FIG. 7C shows forward and backward displacement vectors at a fixed position r at times t₁ and t₂ for two particles (square and round in the figure), where the square particle begins at position 422 (at t₁) and ends at position 424 (at t₂), and the round particle begins at position 424 (at t₁) and ends at position 426 (at t₂) in FIG. 7C. If the displacement vector r(t) is defined by a forward or backward vector on image frames 12 at times t₁ and t₂, the Displacement Vector Invariant (DVI) equation is given by

Δr(r(t ₂),t ₂)+Δr(r(t ₂)+Δr(r(t ₂),t ₂),t ₁)=0,  (3)

or

Δr(r(t ₁),t ₁)+Δr(r(t ₁)+Δr(r(t ₁),t ₂),t ₂)=0,

and the Conservative Velocity Constraint (CVC) equation is given by

v(r(t ₁)+Δv(r(t ₁),t ₁)Δt,t ₂)=v(r(t ₁),t ₁).  (4)

or

v(r(t ₂),t ₂)=v(r(t ₁)−v(r(t ₂),t ₂)Δt,t ₁),

where Δt=t₂−t₁.

The DVI equation (3) establishes an implicit function relationship between the forward and backward displacement fields. Both displacement and conservation velocity fields are equivalent based on the definition. According to the definition of the forward and backward displacement vectors Δr(r(t₁),t₁) and Δr(r(_(t2)),t₂) in FIGS. 7A and 7B, we have the following equations (5):

$\begin{matrix} {{{\Delta \; {r\left( {{r\left( t_{1} \right)},t_{1}} \right)}} = {{- \Delta}\; {r\left( {{r\left( t_{2} \right)},t_{2}} \right)}}}\left\{ \begin{matrix} {{\Delta \; {r\left( {{r\left( t_{1} \right)},t_{1}} \right)}} = {{{r\left( t_{2} \right)} - {r\left( t_{1} \right)}} = {{v\left( {{r\left( t_{1} \right)},t_{1}} \right)}\left( {t_{2} - t_{1}} \right)}}} \\ {{\Delta \; {r\left( {{r\left( t_{2} \right)},t_{2}} \right)}} = {{{r\left( t_{1} \right)} - {r\left( t_{2} \right)}} = {{v\left( {{r\left( t_{2} \right)},t_{2}} \right)}{\left( {t_{1} - t_{2}} \right).}}}} \end{matrix} \right.} & (5) \end{matrix}$

Equations (5) indicate that both the displacement and conservative vectors are equivalent because each vector can be obtained by multiplying and dividing a time different factor (t₂−t₁) or (t₁−t₂). The DVI equation (3) indicates that the motion fields at time t₁ and t₂ are not equal at the same position, but both fields have a shift from each other for moving objects. The shift vector is the displacement vector of the time differences. Equation (3) or (4) establishes an implicit recursive relationship at time t₁ and t₂ for the displacement vector fields or conservative velocity fields. The inventor has appreciated that since the DVI equation (3) or the CVC equation (4) is a vector equation, the total number of component equations is equal to the number of dimensions of the velocity, and as a result, if one field is given or solved then another corresponding field can be determined by equation (3) or (4) completely.

A fully constrained system of equations 130 can thus be provided in the motion estimator apparatus 100 using the motion compensation concept. The temporal integral form of the conservation constraint equation (2) or the DFD equation indicates that the image at time t₁ can be predicted by motion-compensated prediction with an image at time t₂ and the displacement field 140 at time t₁, thus facilitating interpolation or extrapolation for video coding and/or frame rate up-conversion applications. Also, the image at time t₂ can be predicted also with an image at time t₁ and the displacement field 140 at time t₂. The inventor has thus found that the equation (2) can be described forward and backward at a fixed position based on the displacement fields 140 at different times, t₁ and t₂.

Assuming that the number of pixels in an image frame 12 is equal to N, the total number of data points is equal to 2×N for an input image sequence 10 having two frames (e.g., frames 12 _(t1) and 12 _(t2) in FIG. 3 above). A fully constraint nonlinear system of equations 130 using forward and backward DFD equations combined with the DVI equations (4) for resolving the displacement field is thus given by the following equation (6):

$\begin{matrix} \left\{ \begin{matrix} {{{FDFD}\left( {r,{\Delta \; {r\left( {r,t_{1}} \right)}}} \right)} = {{{I\left( {{r + {\Delta \; {r\left( {r,t_{1}} \right)}}},t_{2}} \right)} - {I\left( {r,t_{1}} \right)}} = 0}} \\ {{{BDFD}\left( {r,{\Delta \; {r\left( {r,t_{2}} \right)}}} \right)} = {{{I\left( {r,t_{2}} \right)} - {I\left( {{r + {\Delta \; {r\left( {r,t_{2}} \right)}}},t_{1}} \right)}} = 0}} \\ {{{DVI} = {{{\Delta \; {r\left( {r,t_{2}} \right)}} + {\Delta \; {r\left( {{r + {\Delta \; {r\left( {r,t_{2}} \right)}}},t_{1}} \right)}}} = 0}},} \end{matrix} \right. & (6) \end{matrix}$

where Δr(r, t₁) and Δr(r, t₂) are the forward and backward displacement fields 140 at a fixed position r as shown in FIG. 7C. Both the FDFD and BDFD equations at a fixed position r are independent for the displacement fields, Δr(r, t₁) and Δr(r, t₂). The total number of two unknown components of Δr(r, t₁) or Δr(r, t₂) is equal to 2×N. If one of the fields, Δr(r, t₁) and Δr(r, t₂), is chosen as an independent motion field, another field can be solved by the DVI equation. The total unknown variables 2×N in equations (6) is equal to the total number of constraint equations (6) and as well as the total number of data points in an image sequence. Therefore, both data points and equations match and provide sufficient data information and constraints to solve the two components of the displacement vector 140 without resort to any additional sum assumptions or constraints.

The forward and backward displacement vectors on two image frames 12 _(t1) and 12 _(t2) at times t₁ and t₂ as shown in FIGS. 7A and 7B are defined by equations (5), and substituting the position vectors r(t₂) and r(t₁) from equations (5) into equation (2) yields the following two equations:

$\left\{ {\begin{matrix} {{{I\left( {{{r\left( t_{1} \right)} + {\Delta \; {r\left( {{r\left( t_{1} \right)},t_{1}} \right)}}},t_{2}} \right)} - {I\left( {{r\left( t_{1} \right)},t_{1}} \right)}} = 0} \\ {{{I\left( {{r\left( t_{2} \right)},t_{2}} \right)} - {I\left( {{{r\left( t_{2} \right)} + {\Delta \; {r\left( {{r\left( t_{2} \right)},t_{2}} \right)}}},t_{1}} \right)}} = 0.} \end{matrix}\quad} \right.$

Since the above two equations hold for all image scenes, the equations (6) result if all position vectors in above equations are at a fixed position r, and the first and second equations are denoted by FDFD and BDFD. The solution to the inverse problem is therefore based on the motion analysis in physics, the DVI equation, and recognized different displacement fields at time t₁ and t₂ in both FDFD and BDFD equations. If the forward displacement field is chosen as independent variables, the DVI equations (whether forward DVI equations or backward DVI equations are used) link the FDFD and BDFD equations together for solving the forward two component displacement field.

Using the conservative velocity and CVC equation to replace the displacement vector and DVI equation in (6), a set of fully constrained nonlinear system of equations 130 can be determined for solving the conservative velocity field. Defining a function with discrete variables i and j as f_(ij)(t)=f (i, j, t), the FDFD, BDFD, and the component DVI equations in (6) on a given pixel point i, j are given by the following equations (7) and (8) as the equation set 130:

$\begin{matrix} \left\{ {\begin{matrix} {{FDFD}_{ij} = {{{I\left( {{ + {\Delta \; {x_{ij}\left( t_{1} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{1} \right)}}},t_{2}} \right)} - {I_{ij}\left( t_{1} \right)}} = 0}} \\ {{{BDFD}_{ij} = {{{I_{ij}\left( t_{2} \right)} - {I\left( {{ + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}} = 0}},} \end{matrix}{and}} \right. & (7) \\ \left\{ \begin{matrix} {{{\Delta \; {x_{ij}\left( t_{2} \right)}} + {\Delta \; {x\left( {{ + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0} \\ {{{{\Delta \; {y_{ij}\left( t_{2} \right)}} + {\Delta \; {y\left( {{ + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0},} \end{matrix} \right. & (8) \end{matrix}$

where Δr_(ij)(t)=(Δx_(ij)(t), Δy_(ij)(t))^(T). The displacement vector field at time t₂ is a function of the field at time t₁ based on the DVI equation (8), where the same is true of the backward DVI equations discussed below. There are several available techniques for solving nonlinear systems of equations 130. For example, a damped Newton-Raphson method is an efficient technique, but a converged solution may be facilitated by having a good guess for the initial values, especially for a huge dimensional problem.

Referring also to FIG. 10, a unified adaptive framework 600 may be used with simplicity and efficiency for different applications, using techniques to adjust the degree of over-constraint from fully constraint to over-constraint by a block size parameter for solving the nonlinear problem 130. In certain embodiments, the velocity field is expanded by bilinear polynomial functions or two-dimensional B-Spline functions. In order to develop an adaptive framework that allows the estimator to control the resolutions of the displacement field and the degree of over-constraint, and to simplify the computational complexity, bilinear modeling of the displacement field can be used. In general, any two-dimensional function can be approximated by a Lagrange's bilinear function (9):

$\begin{matrix} {{{f\left( {x,y} \right)} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{{f\left( {{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}} \right)}{H_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( {x,y} \right)}}}}},} & (9) \end{matrix}$

where the function H_(a,b) (x, y) is defined by:

${H_{a,b}\left( {x,y} \right)} = {\frac{1}{n_{x}n_{y}}\left\{ \begin{matrix} {\left( {n_{x} - x + p} \right)\left( {n_{y} - y + q} \right)} & \left( {a = {{p\bigcap b} = q}} \right) \\ {\left( {x - p} \right)\left( {n_{y} - y + q} \right)} & \left( {a = {{p + n_{x}\bigcap b} = q}} \right) \\ {\left( {n_{x} - x + p} \right)\left( {y - q} \right)} & \left( {a = {{p\bigcap b} = {q + n_{y}}}} \right) \\ {\left( {x - p} \right)\left( {y - q} \right)} & {\left( {a = {{p + n_{x}\bigcap b} = {q + n_{y}}}} \right),} \end{matrix} \right.}$

and where the parameters of block size n_(x) and n_(y) are the sampled spaces of the function f on x and y directions as shown in FIG. 5. The quantized indices p and q are functions of x and y and are given by:

${\left\{ {p,q} \right\} = {\left\{ {{p(x)},{q(y)}} \right\} = \left\{ {{n_{x}\left\lfloor \frac{x}{n_{x}} \right\rfloor},{n_{y}\left\lfloor \frac{y}{n_{y}} \right\rfloor}} \right\}}},$

where └ ┘ denotes an integer operator. The {p, q} serve as tile indices because the integer operator increments them by unity after an additional n_(x) or n_(y) pixels are counted. Referring also to FIGS. 8 and 9, in this approach, the image domain 500 is partitioned into a number of sub-domains, or tiles, each which contains an n_(x)×n_(y) array of pixels. In the example of FIGS. 8 and 9, n=n_(x)=n_(y)=4 pixels per block. Node points (marked with solid squares) of the bilinear approximation are indexed with p and q. As seen in FIG. 9, the pixel locations are partitioned into blocks or tiles with node points 502 at the corners of the blocks (node points 502 indicated as crosshatched or white squares in FIGS. 8 and 9). During the iterations of the process 300, the current value of the block size parameter “n” sets the number of interpolation points n_(x) and n_(y) on the “x” and “y” directions, respectively, and FIG. 9 illustrates the blocks in a local domain Ω proximate a particular node 502 in the image 500.

The displacement field is modeled at 602 in the adaptive framework 600 of FIG. 10. Defining a function f_(ij)(t)=f (i, j, t) with discrete variables i and j, the displacement fields Δr_(ij)(t₁) are represented as two-dimensional bilinear functions controlled by a smaller number of displacement vector estimates Δr_(pq)(t₁) which lie on a coarser node point in grid. The two displacement components in an image scene can be expressed by the following bilinear polynomials:

$\begin{matrix} {{{\Delta \; r_{ij}} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{\Delta \; r_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}{H_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( {i,j} \right)}}}}},} & (10) \end{matrix}$

where the displacement vector Δr_(ij)=Δr_(ij)(t₁)=(Δx_(ij), Δy_(ij)). In the special case when block size is unity (n_(x)=n_(y)=1), Δr_(ij)=Δr_(pq) for all indices i and j. All displacement vectors Δr_(ij) can be calculated with the bilinear function using the displacement on node points expressed as Δr_(pq). Displacement vectors Δr_(ij) off-node are no longer independent variables (for over-constrained case: n=n_(x)=n_(y)>1) except on node points (or a fully constrained case: n=1).

In this regard, the block (tile) size parameter n≧1 can be adjusted to control the number of interpolation points related to the resolution of the displacement field and the degree of the over-constraint. When the parameter n is equal to one, all node points and pixel positions are overlapped together and the system is fully constrained. The system is over-constrained if the parameter n is greater than one.

A nonlinear least-squares model can also be used at 604 in FIG. 10. The displacement field Δx_(pq) and Δy_(pq) can be resolved when the parameters n≧1 from the fully or over-constraint system using the nonlinear least-squares model. The presence of possible quantization errors and noise in the intensity measurements suggest the FDFD and BDFD equations in (8) are never identically zero. However, a set of Δr_(ij) can be selected for which it is minimized in a least-squares sense. A Mean Square Error (MSE) function that is a sum of the total errors of the FDFD and BDFD in (8) is given by:

${{MSE} = {\frac{1}{N}{\sum\limits_{i,j}\left( {{FDFD}_{ij}^{2} + {BDFD}_{ij}^{2}} \right)}}},$

where the range of i and j are the entire (N=N_(x)×N_(y)) image pixel domain (iε[0, N_(x)−1], jε[0, N_(y)−1], and the weighting factor can be equal to unity in this case). By minimizing the cost function with respect to the displacement components Δx_(kl) and Δy_(kl) as variables for given indices k and l on all node points, a fully or over-constrained system of equations (11) for the displacement may be written as follows:

$\begin{matrix} {{{\sum\limits_{i,{j \in \Omega_{kl}}}{{FDFD}_{ij}\left\{ {\frac{\partial{FDFD}_{ij}}{{\partial\Delta}\; x_{kl}},\frac{\partial{FDFD}_{ij}}{{\partial\Delta}\; y_{kl}}} \right\}}} + {\sum\limits_{i,{j \in \Omega_{k^{\prime}l^{\prime}}}}{{BDFD}_{ij}\left\{ {\frac{\partial{BDFD}_{ij}}{{\partial\Delta}\; x_{kl}},\frac{\partial{BDFD}}{{\partial\Delta}\; y_{kl}}} \right\}}}} = 0.} & (11) \end{matrix}$

In addition, the summation domain is reduced from the entire image plane to only a local region _(kl) or _(k′l′), so that:

${{\sum\limits_{i,j}{->\sum\limits_{i,{j \in \Omega_{\alpha\beta}}}}} = {\sum\limits_{i = {\alpha - n_{x} + 1}}^{\alpha + n_{x} - 1}\sum\limits_{j = {\beta - n_{y} + 1}}^{\beta + n_{y} - 1}}},$

where α={k, k′} and β={1, 1′}, and regions of the summation coverage k′ and l′ are defined by {k′, l′}={└k+Δx_(k)┘, └I+Δy_(kl)┘}. To obtain equation (14) below, the following is used:

${\frac{{\partial\Delta}\; x_{ij}}{{\partial\Delta}\; x_{kl}} = {\frac{{\partial\Delta}\; y_{ij}}{{\partial\Delta}\; y_{kl}} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{{H_{kl}\left( {i,j} \right)}\delta_{k,{p + {\alpha \; n_{x}}}}\delta_{I,{q + {\beta \; n_{y}}}}}}}}},$

where δ_(ij) is the Kronecker-Delta symbol.

Equations (11) obtained by the nonlinear least-squares model are a set of nonlinear system equations with all displacement vectors Δx_(pq) and Δy_(pq) on node points as variables. To solve the nonlinear system equations (11), an iterative equation can be formulated at 606 in FIG. 10 based on Gauss-Newton and Levenberg-Marquardt methods. The displacement vectors Δx_(kl) and Δy_(kl) and their surrounding nearest neighbors are the only members now contained in the summations in equation (11). To solve these sparse nonlinear system of equations (11), the FDFD and BDFD can be expanded in a Taylor series using the Gauss-Newton method:

$\left\{ {{FDFD}_{ij}^{({m + 1})},{BDFD}_{ij}^{({m + 1})}} \right\} \approx {{\left\{ {{FDFD}_{ij}^{(m)},{BDFD}_{ij}^{(m)}} \right\}++}\left\{ {\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}},\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}} \right\} {\left( {{\Delta \; x_{kl}^{({m + 1})}} - {\Delta \; x_{kl}^{(m)}}} \right)++}\left\{ {\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}},\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}}} \right\} \left( {{{\Delta \; y_{kl}^{({m + 1})}} - {\Delta \; y_{kl}^{(m)}}},} \right.}$

where m is a iteration index, and

{FDFD_(ij) ^((m)),BDFD_(ij) ^((m))}={FDFR_(ij)(Δx _(pq) ^((m)) ,Δy _(pq) ^((m))),BDFD_(ij)(Δx _(pq) ^((m)) ,Δy _(pq) ^((m)))}.

Utilizing these expansions and the above equations (11), the following iterative equations can be used for all indices k and l:

$\begin{matrix} {\mspace{79mu} {{{\begin{pmatrix} {\Delta \; x_{kl}^{({m + 1})}} \\ {\Delta \; y_{kl}^{({m + 1})}} \end{pmatrix} = {\begin{pmatrix} {\Delta \; x_{kl}^{(m)}} \\ {\Delta \; y_{kl}^{(m)}} \end{pmatrix} - {\begin{pmatrix} {\left( {\lambda + 1} \right)a_{11}} & a_{12} \\ a_{12} & {\left( {\lambda + 1} \right)a_{22}} \end{pmatrix}^{- 1}\begin{pmatrix} b_{1} \\ b_{2} \end{pmatrix}}}},\mspace{79mu} {where}}\left\{ {\begin{matrix} {a_{11} = {{\sum\limits_{i,{j \in \Omega_{kl}}}\left( \frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}} \right)^{2}} + {\sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}\left( \frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}} \right)^{2}}}} \\ {a_{12} = {{\sum\limits_{i,{j \in \Omega_{kl}}}{\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}}}} + {\sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}{\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}}}}} \\ {{a_{22} = {{\sum\limits_{i,{j \in \Omega_{kl}}}\left( \frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}} \right)^{2}} + {\sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}\left( \frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}} \right)^{2}}}},} \end{matrix}\left\{ {{{\begin{matrix} {b_{1} = {{\sum\limits_{i,{j \in \Omega_{kl}}}{{FDFD}_{ij}^{(m)}\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}}} + {\sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}{{BDFD}_{ij}^{(m)}\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; x_{kl}^{(m)}}}}}} \\ {{b_{2} = {{\sum\limits_{i,{j \in \Omega_{kl}}}{{FDFD}_{ij}^{(m)}\frac{\partial{FDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}}}} + {\sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}{{BDFD}_{ij}^{(m)}\frac{\partial{BDFD}_{ij}^{(m)}}{{\partial\Delta}\; y_{kl}^{(m)}}}}}},} \end{matrix}\mspace{79mu} \sum\limits_{i,{j \in \Omega_{kl}^{(m)}}}} = {\sum\limits_{i = {k^{(m)} - n_{x} + 1}}^{k^{(m)} + n_{x} - 1}\sum\limits_{j = {I^{(m)} - n_{y} + 1}}^{I^{(m)} + n_{y} - 1}}},\mspace{79mu} {{{and}\mspace{79mu} \left\{ {k^{(m)},I^{(m)}} \right\}} = {\left\{ {\left\lfloor {k + {\Delta \; x_{kl}^{(m)}}} \right\rfloor,\left\lfloor {I + {\Delta \; y_{kl}^{(m)}}} \right\rfloor} \right\}.}}} \right.} \right.}} & (12) \end{matrix}$

The parameter λ≧0 is a Levenberg-Marquardt factor that is adjusted at each iteration to guarantee that the MSE is convergent. A smaller value of the factor λ can be used, bringing the algorithm closer to the Gauss-Newton method with second order convergence. This Levenberg-Marquardt method can improve converge properties greatly in practice and has become the standard of nonlinear least-squares routines.

All displacement vectors Δx_(pq) and Δy_(pq) on node points can be obtained by iterating the equations in (12), and the displacement vectors Δx_(ij) and Δy_(ij) off node points (for n>1) can be calculated by the bilinear functions in (10). Ultimately, all displacement vectors Δr can be determined, and an optimum solution can be achieved over the large-scale image. In addition, the block size parameter n≧1 can be adjusted to control the number of interpolation points within a tile, to resolve the displacement field, and to control the degree of the over-constraint.

An optimized motion-compensated predication is also possible. In particular, using an additionally constrained system to estimate motion field, the inverse problem has previously been addressed by minimizing an objective function with a weighting (penalty) parameter. However, there are two major issues with this use of a weighting parameter. The first is the determination of the optimized weighting parameter, and several different values of the weighting parameter have been proposed. However, it is difficult to find a single optimal value of the parameter for realistic applications if the ground truth flow field is unknown. The second issue is that the Peak Signal-to-Noise Ratio (PSNR):

${{PSNR} = {10{\log_{10}\left( \frac{255^{2}}{MSE} \right)}}},$

is not optimized by minimizing the objective function with the weighting parameter. The estimated flow field by this approach cannot always lead to an optimal Motion-Compensated prediction or Interpolation (MCI) image for applications of video compression.

As seen above, however, the iteration equations (12) are derived based on the least-squares principle that leads directly to a solution of the displacement field 140 with a minimized target function MSE or a maximized PSNR (An average PSNR for the Forward and Backward MCP (FMCP and BMCP)). Since both FDFD and BDFD are equivalent physical quantities, the target function PSNR is an optimized function without any additional parameters. Therefore the MCP image using the estimated displacement field 140 based on the fully constrained system 130 is believed to be optimized.

The adjustable block size approach using smaller number of displacement components on nodes to interpolate a full density displacement field 140 (for n>1 case) provides a powerful capability for different applications in both computer vision and remote sensing fields. If the block size shown in FIG. 8 is n×n with dimension N_(x)×N_(y) images, then the number of transmitted or stored motion vectors for both proposed and block-matching is estimators are equal to [(N_(x)−1)/n+1]×[(N_(y)−1)/n+1] and (N_(x)/n)×(N_(y)/n), respectively. Using almost the same number of the displacement vectors Δr in a fixed block size for both approaches, the current framework (the displacement field with C¹ continuity obtained by global optimal strategies) can provide much higher accurate performance than the block-matching algorithm (the displacement field with C⁰ continuity obtained by local searching strategies) which is the currently adopted standard for video coding.

With respect to iteration algorithms, certain embodiments of the process 300 and apparatus 100 can start from a set of preset initial values of the displacement field Δr⁽⁰⁾ at time t₁, then the Motion Vector Solver 110 b solves the correspondence field Δr⁽⁰⁾(t₂) using all the component equations (8) numerically. An iteration step based on these two displacement fields at time t₁ and t₂ and the iterative equations in (12) can be performed. Furthermore, employing a principle similar to that of the Gauss-Seidel iteration algorithm, updated values of Δx_(pq) ^((m)) and Δy_(pq) ^((m)) can be used on the right-hand side of equation (12) as soon as they become available during the iteration processing. In certain embodiments, all initial displacement field vectors are preset to be equal to 0.01, and the initial Levenberg-Marquardt factor λ is set to 0.001 and is multiplied by ten in each step if the iteration is not convergent.

The FDFD and BDFD equations on each pixel include two motion-compensated predictions I(i±Δx_(ij), j±Δy_(ij), t_({2,1)}) with variables that may be out of the position on pixels in an image scene. In order to compute the motion-compensated predictions, the general bilinear interpolation function in (4) is utilized for this computation as follows:

${{I\left( {{i \pm {\Delta \; x_{ij}}},{j \pm {\Delta \; y_{ij}}},t_{\{{2,1}\}}} \right)} = {\sum\limits_{\alpha = 0}^{1}\; {\sum\limits_{\beta = 0}^{1}\; {{I_{{p + \alpha},{q + \beta}}\left( t_{\{{2,1}\}} \right)}{H_{{p + \alpha},{q + \beta}}\left( {{i \pm {\Delta \; x_{ij}}},{j \pm {\Delta \; y_{ij}}}} \right)}}}}},$

where the function H is evaluated when n_(x)=n_(y)=1, and {p, q} {p(i±Δx_(ij)), q(j±Δ_(ij))}.

The proposed displacement estimation approach leads to a nonlinear system of equations that may have multiple solutions depending on texture morphology in an image sequence. For example, to estimate a displacement field within a featureless region, the displacement field may not be unique because the initial and final positions of a particular particle cannot be physically determined. Even in a texture-rich environment, the realistic motion fields may have multiple possibilities, which satisfy the same equations and are consistent with the same physical observation. The multiple solutions in the inverse problem by solving a nonlinear system are congruent with this physical property.

The inventor has further appreciated that in order to approach a globally minimized solution using the iteration equations (12), an algorithm of PROC that adapts a variable resolution of the displacement structure during the iterations can be employed in this algorithm. In certain embodiments, an initial block size parameter n₀ is selected to be greater than a preset value of the block size n at initial iteration, and it reaches a preset value of n at the end iteration. In certain embodiments, the displacement field can be regularized by changing the block size parameter n from a larger value (higher degree of over-constraint) to a smaller one (lower degree of over-constraint) by one every Nth iteration until it approaches a preset value of n. The inventor has appreciated that the PROC algorithm is helpful for seeking a flow field in which each vector is consistent with its neighbors.

As seen in FIGS. 4 and 5 above, either forward or backward DVI equations can be used in the equation set 130. Algorithms are then derived at 608 in FIG. 9 for solving the DVI equations. Two components of forward and backward DVI equations between time t₁ and t₂ are given by the following equations (A1) and (A2):

$\begin{matrix} \left\{ {\begin{matrix} {{{\Delta \; {x_{ij}\left( t_{2} \right)}} + {\Delta \; {x\left( {{i + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0} \\ {{{{\Delta \; {y_{ij}\left( t_{2} \right)}} + {\Delta \; {y\left( {{i + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0},} \end{matrix}{and}} \right. & ({A1}) \\ \left\{ \begin{matrix} {{{\Delta \; {x\left( {x,y,t_{1}} \right)}} + {\Delta \; {x\left( {{x + {\Delta \; {x\left( {x,y,t_{1}} \right)}}},{y + {\Delta \; {y\left( {x,y,t_{1}} \right)}}},t_{2}} \right)}}} = 0} \\ {{{\Delta \; {y\left( {x,y,t_{1}} \right)}} + {\Delta \; {y\left( {{x + {\Delta \; {x\left( {x,y,t_{1}} \right)}}},{y + {\Delta \; {y\left( {x,y,t_{1}} \right)}}},t_{2}} \right)}}} = 0.} \end{matrix} \right. & \left( {A\; 2} \right) \end{matrix}$

If the conservative velocity field {Δx_(ij)(t₁), Δy_(ij)(t₁)} at time t₁ is given or solved, then the correspondence field {Δx_(ij)(t₂), Δy_(ij)(t₂)} at time t₂ can be determined (or vice versa) by all component equations in (A1) or (A2). Thus, the processor 110 of the estimator 100 is programmed to solve the equation set 130 using the forward and backward displaced frame difference equations in combination with either the forward DVD equations (A1) (FIG. 4) or the backward DVD equations (A2) (FIG. 5) using the first and second image frames 12 _(t1) and 12 _(t2) to estimate the displacement field 140 describing displacement vectors Δr_(ij)(t₁) or Δr_(ij)(t₂) for pixel locations (i, j) at one of the first and second times (t₁, t₂) using known or estimated displacement field values at the other of the first and second times (t₁, t₂).

In one example, numerically solving the equation set 130 at time t₂ using equations (A1) or (A2) by the Motion Vector Solver 110 b if the velocity {Δx_(ij)(t₁), Δy_(ij)(t₁)} or {Δx_(ij)(t₂), Δy_(ij)(t₂)} are given involves expanding the field by a bilinear polynomial function, where a bilinear expression of a two-dimensional displacement field is given by equation (10).

The forward and backward DVI equations (A1) and (A2) are implicit recursive functions of the fields ({Δx_(ij)(t₁), Δy_(ij)(t₁)}) at time t and t₁. Three methods for solving the matrix field {Δx_(ij)(t₂), Δy_(ij)(t₂)} are described below for the case in which the matrix field {Δx_(ij)(t₁), Δy_(ij)(t₁)} are given, and it will be appreciated that the converse problem can be solved by similar techniques for solving the equation set 130 at time t₁ where the matrix field is given at time t₂.

An interpolation method with a searching algorithm can be used to solve the equation set 130 using either of the forward DVI equations (FIG. 4) or the backward DVI equations (FIG. 5). In this approach, a lookup table of offsite velocity field at time t with variables that are out of the position on pixels (x≠i and y≠j) in an image is generated using the given matrix field {Δx_(ij)(t₁), Δy_(ij)(t₁)}. The lookup table in one example is an array of records, where each record contains four parameters: position coordinates x=i+Δx_(ij)(t₁) and y=j+Δy_(ij)(t₁), and the matrix values of Δx_(ij)(t₁) and Δy_(ij)(t₁) for all iε[0,N_(x)−1]∩jε[0,N_(y)−1]. All the values of the matrix field Δx_(ij)(t₂) and Δy_(ij)(t₂) on the pixel points are then evaluated by a bilinear interpolation method and a searching algorithm. The searching algorithm finds three or four available values of the field Δx(x, y, t₂) and Δy(x, y, t₂) in the lookup table for all nearest points around the given point (i, j).

Another technique involves solving the forward DVI equations (A1) by Newton-Raphson method, such as a damped Newton-Raphson method. Assuming that the forward DVI equations (A1) are nonlinear functions with variables Δx_(ij)(t₂) and Δy_(ij)(t₂), the system of equations 130 can be solved by a Newton-Raphson method. Two-component nonlinear system of equations with variable Δx_(ij)(t₂) and Δy_(ij)(t₂) are given by:

$\begin{matrix} \; & \; \\ \left\{ \begin{matrix} {{ɛ_{1}\left( {{\Delta \; {x_{ij}\left( t_{2} \right)}},{\Delta \; {y_{ij}\left( t_{2} \right)}}} \right)} = {{{\Delta \; {x_{ij}\left( t_{2} \right)}} + {\Delta \; {x\left( {{i + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0}} \\ {{ɛ_{2}\left( {{\Delta \; {x_{ij}\left( t_{2} \right)}},{\Delta \; {y_{ij}\left( t_{2} \right)}}} \right)} = {{{\Delta \; {y_{ij}\left( t_{2} \right)}} + {\Delta \; {y\left( {{i + {\Delta \; {x_{ij}\left( t_{2} \right)}}},{j + {\Delta \; {y_{ij}\left( t_{2} \right)}}},t_{1}} \right)}}} = 0.}} \end{matrix} \right. & \; \end{matrix}$

Using the bilinear function in the above equation (A3) to expand the given field at time t₁, all off site values (with non-integer value variables) of the given field at time t₁ are evaluated by the function (10). Since both indexes p and q are functions of the variables Δx_(ij)(t₂) and Δy_(ij)(t₂), the variables Δx_(ij)(t₂) and Δy_(ij)(t₂) cannot be solved directly from the above equations. However, these equations are quasi-quadratic, and thus can be solved by a damped Newton-Raphson method. Iteration equations for solving the matrix field at time t for all i and j are given by:

$\begin{matrix} {{\begin{pmatrix} {\Delta \; {x_{ij}^{({m + 1})}\left( t_{2} \right)}} \\ {\Delta \; {y_{ij}^{({m + 1})}\left( t_{2} \right)}} \end{pmatrix} = {\begin{pmatrix} {\Delta \; {x_{ij}^{(m)}\left( t_{2} \right)}} \\ {\Delta \; {y_{ij}^{(m)}\left( t_{2} \right)}} \end{pmatrix} - {\begin{pmatrix} \frac{\partial ɛ_{1}^{(m)}}{{\partial\Delta}\; {x_{ij}^{(m)}\left( t_{2} \right)}} & \frac{\partial ɛ_{1}^{(m)}}{{\partial\Delta}\; {y_{ij}^{(m)}\left( t_{2} \right)}} \\ \frac{\partial ɛ_{2}^{(m)}}{{\partial\Delta}\; {x_{ij}^{(m)}\left( t_{2} \right)}} & \frac{\partial ɛ_{2}^{(m)}}{{\partial\; \Delta}\; {y_{ij}^{(m)}\left( t_{2} \right)}} \end{pmatrix}^{- 1}\begin{pmatrix} ɛ_{1}^{(m)} \\ ɛ_{2}^{(m)} \end{pmatrix}}}},} & ({A3}) \end{matrix}$

where m is an iteration index. All derivatives with respect variables Δx_(ij)(t₂) and Δy_(ij)(t₂) in the above equations can be evaluated by the bilinear function (10). Two index variables p and q in function (10) are integer function of the variables Δx_(ij)(t₂) and Δy_(ij)(t₂), but the derivative of the integer function is equal to zero, and thus:

$\left\{ \begin{matrix} {\frac{{\partial\Delta}\; {x_{pq}\left( t_{1} \right)}}{{\partial\Delta}\; {x_{ij}^{(m)}\left( t_{2} \right)}} = {\frac{{\partial\Delta}\; {x_{pq}\left( t_{1} \right)}}{{\partial\Delta}\; {y_{ij}^{(m)}\left( t_{2} \right)}} \equiv 0}} \\ {\frac{{\partial\Delta}\; {y_{pq}\left( t_{1} \right)}}{{\partial\Delta}\; {x_{ij}^{(m)}\left( t_{2} \right)}} = {\frac{{\partial\Delta}\; {y_{pq}\left( t_{1} \right)}}{{\partial\Delta}\; {y_{ij}^{(m)}\left( t_{2} \right)}} \equiv 0.}} \end{matrix} \right.$

A third approach can be used to solve equation set 130 employing the backward DVD equations (A2) (FIG. 5) by a New-Raphson method. In order to solve the velocity field Δx_(ij)(t₂) and Δy_(ij)(t₂) in equation (A2), the equation can be rewritten as shown in the following equation (A4):

$\begin{matrix} \left\{ \begin{matrix} {{{\Delta \; {x\left( {x_{1},y_{1},t_{1}} \right)}} + {\Delta \; {x\left( {{x_{1} + {\Delta \; {x\left( {x_{1},y_{1},t_{1}} \right)}}},{y_{1} + {\Delta \; {y\left( {x_{1},y_{1},t_{1}} \right)}}},t_{2}} \right)}}} = 0} \\ {{{\Delta \; {y\left( {x_{1},y_{1},t_{1}} \right)}} + {\Delta \; {y\left( {{x_{1} + {\Delta \; {x\left( {x_{1},y_{1},t_{1}} \right)}}},{y_{1} + {\Delta \; {y\left( {x_{1},y_{1},t_{1}} \right)}}},t_{2}} \right)}}} = 0.} \end{matrix} \right. & ({A4}) \end{matrix}$

where x₁ and y₁ are two components of a position vector. Two new index variables are introduced as follows:

$\begin{matrix} \left\{ {\begin{matrix} {i = {x_{1} + {\Delta \; {x\left( {x_{1},y_{1},t_{1}} \right)}}}} \\ {{j = {y_{1} + {\Delta \; {y\left( {x_{1},y_{1},t_{1}} \right)}}}},} \end{matrix}{or}\left\{ {\begin{matrix} {e_{1} = {{x_{1} + {\Delta \; {x\left( {x_{1},y_{1},t_{1}} \right)}} - i} = 0}} \\ {e_{2} = {{y_{1} + {\Delta \; {y\left( {x_{1},y_{1},t_{1}} \right)}} - j} = 0}} \end{matrix}.} \right.} \right. & ({A5}) \end{matrix}$

The above equations become:

$\begin{matrix} \left\{ \begin{matrix} {{\Delta \; {x_{ij}\left( t_{2} \right)}} = {{- \Delta}\; x\; \left( {x_{1},y_{1},t_{1}} \right)}} \\ {{\Delta \; {y_{ij}\left( t_{2} \right)}} = {{- \Delta}\; {{y\left( {x_{1},y_{1},t_{1}} \right)}.}}} \end{matrix} \right. & ({A6}) \end{matrix}$

All the displacement vector fields Δx_(ij)(t₂) and Δy_(ij)(t₂) in equation (A6) on all pixel points (i, j) can be determined by off-site field at time t₁ after all position coordinates x₁ and y₁ are solved from equations (A5). According to the bilinear expansion in equation (A3), the displacement field at time t₁ can be expressed by:

$\left\{ {{\Delta \; {x\left( {x,y,t_{1}} \right)}},{\Delta \; {y\left( {x,y,t_{1}} \right)}}} \right\} = {\sum\limits_{\alpha = 0}^{1}\; {\sum\limits_{\beta = 0}^{1}\; {\left\{ {{\Delta \; {x_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( t_{1} \right)}},{\Delta \; {y_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( t_{1} \right)}}} \right\} {{H_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( {x,y} \right)}.}}}}$

Iterative equations for solving position coordinate x₁ and y₁ are given by

$\begin{pmatrix} x_{1}^{({m + 1})} \\ y_{1}^{({m + 1})} \end{pmatrix} = {\begin{pmatrix} x_{1}^{(m)} \\ y_{1}^{(m)} \end{pmatrix} - {\begin{pmatrix} \frac{\partial e_{1}^{(m)}}{\partial x_{1}^{(m)}} & \frac{\partial e_{1}^{(m)}}{\partial y_{1}^{(m)}} \\ \frac{\partial e_{2}^{(m)}}{\partial x_{1}^{(m)}} & \frac{\partial e_{2}^{(m)}}{\partial y_{1}^{(m)}} \end{pmatrix}^{- 1}{\begin{pmatrix} e_{1}^{(m)} \\ e_{2}^{(m)} \end{pmatrix}.}}}$

Using the property of the integer function that the derivative is zero yields:

$\left\{ \begin{matrix} {\frac{{\partial\Delta}\; x_{pq}}{\partial x_{1}} = {\frac{{\partial\Delta}\; x_{pq}}{\partial y_{1}} \equiv 0}} \\ {\frac{{\partial\Delta}\; y_{pq}}{\partial x_{1}} = {\frac{{\partial\Delta}\; y_{pq}}{\partial y_{1}} \equiv 0.}} \end{matrix} \right.$

All position coordinate x₁ and y₁ for given indexes i and j, and the displacement field at time t₁ can be solved by only a few iteration steps, because these equations are quasi-quadratic for this motion model.

In certain implementations, the Motion Vector Solver 110 b is programmed to solve the forward displacement vector invariant equations (FIG. 4) in the equation set 130 by a damped Newton-Raphson method using the above iteration equations (A3) for solving the displacement field at time t₂.

Referring now to FIG. 11, an adaptive framework or process 700 is illustrated for solving a system of equations for motion estimation in accordance with further aspects of the present disclosure. At 702 in FIG. 11, a fundamental system of equations is provided for motion estimation. The process 700 can be used for motion estimation equation systems that are linear or nonlinear, and can be applied where the fundamental motion estimation equation system is under-constrained, over-constrained and/or fully constrained. Moreover, process 700 can be used for estimating any type or form of motion field, including without limitation displacement fields and/or velocity fields. For instance, the fundamental system can be provided at 702 as the DFD equations discussed above, or the fundamental equation system can be provided in the form of optical flow equations or heat flow equations and other nonlimiting embodiments. Modeling is then performed at 704, in which a motion field model is created based on the fundamental equation system using a bilinear interpolation function (e.g., 134 above). In this regard, the inventor has appreciated that for each pixel in an image, there may be one equation, or there may be two or more equations, and that motion vectors at individual pixel points are dependent upon motion vectors for neighboring node points. At 706 in FIG. 11, the block size is defined, where “n” is set to an integer value greater than or equal to 1 so that the number of motion vectors on node points is greater than the number of pixel points. In this manner, motion vectors on node points can be solved without solving all the motion fields for each pixel point. Thus the motion field for node points can be solved using the model (bilinear interpolation function). At 708 a cost function is created based on a linear or nonlinear least-squares principle. In addition, iteration equations are derived at 708 for solving the motion field on node points to convert a fully or over-constrained system to a fully constrained system based on a linear or nonlinear least-squares principle. In this regard, the fundamental equation system at 702 may be over-constrained, fully constrained and/or under-constrained, but the modeling at 704 causes the modeled motion field system to be fully constrained or over-constrained based on the block size definition at 706. Moreover, the inventor has appreciated that using the nonlinear least squares technique at 708, a fully constrained system of iteration equations can be created or derived for solving the motion field on node points, for example, using a Gauss-Newton method or Levenberg-Marquardt technique, where the iteration equations are based on the fundamental equation system provided at 702. At 712, the system of iteration equations is solved for the motion field on node points using an iterative technique with progressive relaxation of over-constraint (PROC), for instance, using a processor.

In an alternative exemplary embodiment of the invention, a method for processing an image sequence can include an under-constrained system with a symmetric displaced frame difference equation (SDFD).

As noted herein, there can be numerous local minima in image data applications when the nonlinear model is used to deal with a problem of global nonlinear minimization with huge number of unknown parameters. A convergent solution can depend on having a good guess for the initial values, especially for huge dimensional problem. However, in an exemplary embodiment of the invention, to avoid obtaining a specious local minimum solution when solving a nonlinear problem using the initial guess far away from the real flow field, a SDFD equation with only half displacement parameters used for resolving the total displacement field can be utilized.

The estimated motion vector from two successive images is a displacement vector (or average velocity in the time interval) between the initial and final positions of a particle in the scene as shown in FIG. 12. FIG. 12 is a plot of a motion particle trajectory, instant velocities at time t₁ and t₂, and a displacement vector between initial and final positions at time t₁ and t₂. The trajectory represented by the curved, upper portion 1205 in FIG. 12 shows a very complex motion for a real particle for a longer temporal range. The motion fields discussed herein are displacement fields or their equivalent average velocity fields defined by v(r(t), t)=Δr(r(t), t)/Δt, where Δr and Δt=t₂−t₁ are the displacement vector and a time difference between image frames at time t₁ and t₂. We denote the average velocity by v= v as the estimated velocity in this paper for convention.

The motion field estimated from successive NOAA Advanced Very High Resolution Radiometer (AVHRR) images or ocean-color imagery spaced several hours apart, and the field is relevant to the important question of surface (or near-surface) drift velocity. For example, one application of this would be the drift of pollution (e.g., an oil plume).

The image intensity I(r, t) measured by brightness (optical flow from visible band images) or temperature (heat flow from thermal images) can be a scalar function of position coordinates r(t) and time t. A brightness or tracer conservation constraint equation can be as follows:

$\begin{matrix} {\frac{{I\left( {{r(t)},t} \right)}}{t} = {{\left( {\frac{\partial}{\partial t} + {v \cdot \nabla}} \right){I\left( {{r(t)},t} \right)}} = 0}} & ({B1}) \end{matrix}$

where operator

$\frac{}{t}$

denotes a total derivative with respect to time t. The differential form of equation (B1) can be linear in the velocity components and can hold only for infinitesimal or nearly infinitesimal motions. Using two successive frames, an estimate of partial derivatives with respect to time in (B1) can be made; however, equation (B1) may not exactly describe the motion between the two successive frames, especially for large-scale displacement motion.

In order to constrain the image scenes at time t=t₁ and t=t₂, equation (B1) can be integrated from time t₁ to t₂

$\begin{matrix} {{\int_{t_{1}}^{t_{2}}{\frac{{I\left( {{r(t)},t} \right)}}{t}\ {t}}} = {{{I\left( {{r\left( t_{2} \right)},t_{2}} \right)} - {I\left( {{r\left( t_{1} \right)},t_{1}} \right)}} \equiv 0}} & ({B2}) \end{matrix}$

where r(t₁) and r(t₂) can be the position vectors at time t₁ and t₂.

In order to estimate a motion field with as small a displacement magnitude as possible, a half displacement vector Δr_(h)=Δr/2=v Δt_(h) can be defined along the total displacement vector 1210 as shown in FIG. 12, where Δt_(h)=Δt/2, and v= v(r(t₁+Δt_(h)), t₁+Δt_(h)) can be the average velocity between t₁ and t₂ at position r(t₁+Δt_(h)). The initial and final position vectors can be expressed by

$\quad\left\{ \begin{matrix} {{r\left( t_{1} \right)} = {{r\left( {t_{1} + {\Delta \; t_{h}}} \right)} - {v\; \Delta \; t_{h}}}} \\ {{r\left( t_{2} \right)} = {{r\left( {t_{1} + {\Delta \; t_{h}}} \right)} + {v\; \Delta \; {t_{h}.}}}} \end{matrix} \right.$

Substituting the position vectors in the above equations into equation (B2), the symmetric displaced frame difference (SDFD) equation can be given by

DFCD=I(r(t ₁ +Δt _(h))+vΔt _(h) ,t ₂)−I(r(t ₁ +Δt _(h))−vΔt _(h) ,t ₁)=0  (B3)

The conservation constraint equation (B1) can be integrated into path-independent equation (B3) and all terms in equation (B3) associate with intensity at time t₁ and t₂. It can be clear that employing the SDFD equation (B3) for motion estimations can achieve higher accuracy in comparison with the heat or optical flow equation (B1) especially for large scale displacement estimation. Since the estimated displacement vectors within the terms in equation (B3) are only half of the total displacement vector, convergence to a global optimal solution can be more robust than when the total displacement vector is estimated by an iteration algorithm.

The intensity terms at time t₁ and t₂ in equation (B3) can be calculated from the intensity fields on the image sequence. The inverse problem for solving the velocity vector is under-constrained because two unknown velocity components must be derived from a single SDFD equation (B3) at each of these pixel points.

In an exemplary embodiment of the invention, one of the efficient approaches for resolving the velocity field from the under-constrained system can be to express the velocity field as bilinear polynomial functions or two-dimensional B-Splines functions. Bilinear modeling of the displacement field can be utilized to develop a unified adaptive framework that can allow the estimator to control the resolutions of the displacement field and the degree of over-constraint, and to simplify the computational complexity. The velocity fields u(x, y, t) and v(x, y, t) can be represented as two-dimensional bilinear functions controlled by a smaller number of velocity estimates u(p, q, t) and v(p, q, t) which can lie on a coarser node point in grid as shown in FIG. 13. In FIG. 13, the node points (the small squares, see e.g., 1305, and block size n_(x)=n_(y)=4) of the bilinear polynomial functions with indices p and q are mapped on an image scene. All function values of off-node when i≠p(i) and j≠q(j) in the image plane can be calculated based on the sampled function values on node points when i=p(i) and j=q(j).

In general, any two-dimensional function can be approximated by a Lagrange's bilinear function

$\begin{matrix} {{f\left( {x,y} \right)} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{{f\left( {{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}} \right)}{H_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( {x,y} \right)}}}}} & ({B4}) \end{matrix}$

where function H_(a,b)(x, y) can be the bilinear forms. The image domain can be partitioned into sub-domains, or tiles, each of which can contain an n_(x)×n_(y) array of pixels as represented in FIG. 13. The quantized indices p and q are functions of x and y and can be given by

$\quad{{\left\{ {p,q} \right\} = {\left\{ {{p(x)},{q(y)}} \right\} = \left\{ {{n_{x}\left\lfloor \frac{x}{n_{x}} \right\rfloor},{n_{y}\left\lfloor \frac{y}{n_{y}} \right\rfloor}} \right\}}},}$

where └ ┘ denotes an integer operator. The {p, q} serve as tile indices, since the integer operator increments them by unity after an additional n_(x) or n_(y) pixels are counted. The bilinear function H_(a,b) (x, y) can be defined by

$\begin{matrix} {{H_{a,b}\left( {x,y} \right)} = {\frac{1}{n_{x}n_{y}}\left\{ \begin{matrix} {\left( {n_{x} - x + p} \right)\left( {n_{y} - y + q} \right)\mspace{14mu} \left( {a = {{p\bigcap b} = q}} \right)} \\ {\left( {x - p} \right)\left( {n_{y} - y + q} \right)\mspace{14mu} \left( {a = {{p + n_{x}\bigcap b} = q}} \right)} \\ {\left( {n_{x} - x + p} \right)\left( {y - q} \right)\mspace{14mu} \left( {a = {{p\bigcap b} = {q + n_{y}}}} \right)} \\ {\left( {x - p} \right)\left( {y - q} \right)\mspace{14mu} {\left( {a = {{p + n_{x}\bigcap b} = {q + n_{y}}}} \right).}} \end{matrix} \right.}} & ({B5}) \end{matrix}$

The two component velocity fields on pixels in an image can be approximated by the following discrete forms of the bilinear approximation functions with first order continuity that holds for all N=N_(x)×N_(y) image globally

$\begin{matrix} {{v_{ij} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{v_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}{H_{{p + {\alpha \; n_{x}}},{q + {\beta \; n_{y}}}}\left( {i,j} \right)}}}}},} & ({B6}) \end{matrix}$

where a function with discrete variables i and j can be denoted by v_(ij)=v_(ij)(t)=v(i, j, t) or ƒ_(ij)(t)=ƒ(i, j, t). In a special case, v_(ij) can be equal to v_(pq) for all indices i and j when block size parameter n is unity (n=n_(x)=n_(y)=1).

All off-node velocities can be calculated by equation (B6) using the on-node velocities expressed as u_(pq) and v_(pq). The SDFD equation in (B3) can become

DFCD_(ij) =I(i+u _(ij) Δt _(h) ,j+v _(ij) Δt _(h) ,t ₂)+−I(i−u _(ij) Δt _(h) ,j−v _(ij) Δt _(h) ,t ₁)=0,  (B7)

where u_(ij) and v_(ij) are two components of velocities on each pixel with horizontal and vertical indices {i, j} for the whole image. The SDFD in (B7) is a function of variables of two velocity components that depend on node point velocities in (B6), i.e.

DFCD_(ij)=DFCD_(ij)(u _(ij) ,v _(ij))=DFCD_(ij)(u _(pq) ,v _(pq)).

The SDFD equations (B3) and (B7) are equivalent only when the block size parameters n_(x)=1 and n_(y)=1, in this case, p=i and q=j. All independent SDFD_(ij) equations have only a smaller number of the independent velocities on nodes when the velocity indices i=p(i) and j=q(j). The total number of SDFD equations is N=N_(x)×N_(y) for an N_(x)×N_(y) image sequence. The number of node points shown in FIG. 2 is given by

$N_{node} = {\left( {\left\lfloor \frac{N_{x} - 1}{n_{x}} \right\rfloor + 1} \right){\left( {\left\lfloor \frac{N_{y} - 1}{n_{y}} \right\rfloor + 1} \right).}}$

The total number of independent velocity fields with two components u_(pq) and v_(pq) is 2×N_(node). It can be clear that this system is over-constrained because the number of SDFD equations in (B7) for all pixels is greater than the number of independent velocity components u_(pq) and v_(pq) (i.e., N>2×N_(node)) if block size n_(x)>1 and n_(y)>1.

The presence of possible quantization errors and noise in the remote sensing measurements suggest that the SDFD equation in (B7) is never identically zero; however, we can choose a set of v_(ij) for which it can be minimized in a least-squares sense. Accordingly, we define a Mean Square Error (MSE) function based on equation (B7) as

${{MSE} = {\frac{1}{N}{\sum\limits_{i,j}{DFCD}_{ij}^{2}}}},$

where i and j go over all pixels in N_(x)×N_(y) image (iε[0,N_(x)−1]∩jε[0,N_(y)−1]). Minimizing the cost function with parameters u_(kl) and v_(kl) as variables for given indices k and l on all node points in an image represented in FIG. 13, a set of over-constrained system of equations for all cases n_(x)>1 and n_(y)>1 is given by

$\begin{matrix} {{{\sum\limits_{i,{j \in \Omega_{kl}}}{{DFCD}_{ij}\left\{ {\frac{\partial{DFCD}_{ij}}{\partial u_{kl}},\frac{\partial{DFCD}_{ij}}{\partial v_{kl}}} \right\}}} = 0}{where}} & ({B8}) \\ \left\{ \begin{matrix} {\frac{\partial{DFCD}_{ij}}{\partial u_{kl}} = {\Delta \; t_{h}{\frac{\partial u_{ij}}{\partial u_{kl}}\begin{bmatrix} \left. \frac{\partial{I\left( {x,{j + {v_{ij}\Delta \; t_{h}}},t_{2}} \right)}}{\partial x} \middle| {}_{x = {i + {u_{ij}\Delta \; t_{h}}}} + \right. \\ \left. {+ \frac{\partial{I\left( {x,{j - {v_{ij}\Delta \; t_{h}}},t_{1}} \right)}}{\partial x}} \right|_{x = {i - {u_{ij}\Delta \; t_{h}}}} \end{bmatrix}}}} \\ {\frac{\partial{DFCD}_{ij}}{\partial v_{kl}} = {\Delta \; t_{h}{\frac{\partial v_{ij}}{\partial v_{kl}}\begin{bmatrix} \left. \frac{\partial{I\left( {{i + {u_{ij}\Delta \; t_{h}}},y,t_{2}} \right)}}{\partial y} \middle| {}_{y = {j + {v_{ij}\Delta \; t_{h}}}} + \right. \\ \left. {+ \frac{\partial{I\left( {{i - {u_{ij}\Delta \; t_{h}}},y,t_{2}} \right)}}{\partial y}} \right|_{y = {j - {v_{ij}\Delta \; t_{h}}}} \end{bmatrix}}}} \end{matrix} \right. & ({B9}) \end{matrix}$

To obtain equation (B8), the following is used

${\frac{\partial u_{ij}}{\partial u_{kl}} = {\frac{\partial v_{ij}}{\partial v_{kl}} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{{H_{kl}\left( {i,j} \right)}\delta_{k,{p + {\alpha \; n_{x}}}}\delta_{l,{q + {\beta \; n_{y}}}}}}}}},$

where symbol δ_(ij) is the Kronecker-Delta symbol, and the summation domain is reduced from the entire image plane to only a local region Ω_(kl), so that

${\sum\limits_{i,j}{->\sum\limits_{i,{j \in \Omega_{kl}}}}} = {\sum\limits_{i = {k - n_{x} + 1}}^{k + n_{x} - 1}{\sum\limits_{j = {l - n_{y} + 1}}^{l + n_{y} - 1}.}}$

The two independent equations in (B8) on a node point can be degraded back to a single SDFD equation (B7) when block size n_(x) and n_(y) are equal to unity. Of the original pixel set, the velocities u_(kl) and v_(kl) and their nearest neighbors are the only members contained in the summations in equation (B8).

To solve the nonlinear system equations (B8), the SDFD can be expanded in Taylor series using Gauss-Newton method

${DFCD}_{ij}^{({m + 1})} \approx {{DFCD}_{ij}^{(m)} + {\frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}}\left( {u_{kl}^{({m + 1})} - u_{kl}^{(m)}} \right)} + {\frac{\partial{DFCD}_{ij}^{(m)}}{\partial v_{kl}^{(m)}}\left( {v_{kl}^{({m + 1})} - v_{kl}^{(m)}} \right)}}$

where m is an iteration index, and

DFCD_(ij) ^((m))=DFCD_(ij)(u _(pq) ^((m)) ,v _(pq) ^((m)))

Substituting SDFD expansion into equation (B8), the following iterative equations of two component velocity u_(kl) and v_(kl) can be found for all indexes k and l on node points

$\begin{matrix} {\mspace{79mu} {{v_{kl}^{({m + 1})} = {v_{kl}^{(m)} - {\left( A_{kl}^{(m)} \right)^{- 1}B_{kl}^{(m)}}}}\mspace{79mu} {where}{A_{kl}^{(m)} = \begin{pmatrix} {\left( {\lambda + 1} \right){\sum\limits_{i,{j \in \Omega_{kl}}}\left( \frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}} \right)^{2}}} & {\sum\limits_{i,{j \in \Omega_{kl}}}{\frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}}\frac{\partial{DFCD}_{ij}^{(m)}}{\partial v_{kl}^{(m)}}}} \\ {\sum\limits_{i,{j \in \Omega_{kl}}}{\frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}}\frac{\partial{DFCD}_{ij}^{(m)}}{\partial v_{kl}^{(m)}}}} & {\left( {\lambda + 1} \right){\sum\limits_{i,{j \in \Omega_{kl}}}\left( \frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}} \right)^{2}}} \end{pmatrix}}\mspace{79mu} {and}\mspace{79mu} {B_{kl}^{(m)} = \begin{pmatrix} {\sum\limits_{i,{j \in \Omega_{kl}}}{{DFCD}_{ij}^{(m)}\frac{\partial{DFCD}_{ij}^{(m)}}{\partial u_{kl}^{(m)}}}} \\ {\sum\limits_{i,{j \in \Omega_{kl}}}{{DFCD}_{ij}^{(m)}\frac{\partial{DFCD}_{ij}^{(m)}}{\partial v_{kl}^{(m)}}}} \end{pmatrix}}}} & (10) \end{matrix}$

where λ≧0 is a Levenberg-Marquardt factor that can be adjusted at each iteration to guarantee that the objective function MSE is convergent. A smaller value of the factor λ can be used, bringing the algorithm closer to the Gauss-Newton method with second order converging. This Levenberg-Marquardt method can improve converge properties efficiently in practice and has become the standard of nonlinear least-squares routines.

The block size parameters n=n_(x)=n_(y) can be adjusted to control the degree of the over-constrained system and robustness to noise, and to obtain the velocity field from high to low resolutions of the field structures for different applications.

The new approach is named as the Estimator with the SDFD equation to differentiate from the traditional Linear GOS (LGOS) method.

The SDFD equation on each pixel can consist of two motion-compensated predictions I(i±u_(ij)Δt_(h), j±v_(ij)Δt_(h), t_({2,1})) with variables that may be out of the position on pixels in an image. In order to compute the motion-compensated predictions, the general bilinear interpolation function in (B4) can be utilized as follows

${I\left( {{i \pm {u_{ij}\Delta \; t_{h}}},{j \pm {v_{ij}\Delta \; t_{h}}},t_{\{{2,1}\}}} \right)} = {\sum\limits_{\alpha = 0}^{1}{\sum\limits_{\beta = 0}^{1}{{I_{{p + \alpha},{q + \beta}}\left( t_{\{{2,1}\}} \right)}{H_{{p + \alpha},{q + \beta}}\left( {{i \pm {u_{ij}\Delta \; t_{h}}},{j \pm {v_{ij}\Delta \; t_{h}}}} \right)}}}}$

where the function H_(a,b) (x, y) in (B5) can be evaluated when n_(x)=n_(y)=1, and {p, q}={p(i±u_(ij)Δt_(h)), q(j±v_(ij)Δt_(h))}.

The partial derivatives in (B9) with respect to coordinates x and y can be computed by their finite differences. In order to improve computation accuracy of numerical differentiation from the discrete set of images, the partial differential method can be implemented with two-point difference (with mask coefficients {1, 0}) and N-point central differences (for examples, with mask coefficients {1, 0, −1}/2, {1, −8, 0, 8, −1}/12, or {−1, 9, −45, 0, 45, −9, 1}/60) for differentiation. The number of the convolution points in the differentiation can be dependent on an application. In general, a larger number of the central differences can improve the performance of the velocity estimation if the scale of the feature structures (some featureless regions are located within these structures) is larger. Moreover, a spatial Gaussian low pass filter with standard deviation about one pixel in space can be used to smooth the gradient fields.

The gradient field smoothing processes can improve the performance of the velocity estimation especially for real world image data because a motion can be observed and detected only if there are enough textures in the interested region. Smoothing gradient vector fields can help increase gradient values in the featureless regions from their higher gradient neighbors by a convolution processing.

First, gradient fields with components in x and y can be evaluated on each pixel using numerical differentiation method. Then, a Gaussian low-pass filter with standard deviation from 0.375 to 1.125 pixels in space can be used to smooth the gradient fields. Finally, utilizing the general interpolation function in (B4) when n_(x)=n_(y)=1, the values of the gradient fields in equations (B9) and (B10) can be calculated at any position (x, y)=(i±u_(ij)Δt, j±v_(ij)Δt) in an image scene.

Almost all methods for solving the velocity in an image sequence can be based on an assumption that the surface temperature, ocean color, or brightness is conserved. Most of the successive satellite-borne images are recorded in long temporal range or from different sensors in remote sensing applications. The conservation constraint of the intensity is not always satisfied for such applications. For examples, there can be calibration differences and diurnal warming of the surface layer for the AVHRR images, and sun angle differences for ocean color reflectance data.

In the case of a global gray level change in an image scene, there does exist the gray scale normalization techniques addressing the problem which were originally developed for side looking radar image analysis. Applying these techniques, one can be normalized with respect to other by a linear transformation in such a manner that the gray level distribution in both images can be of the same mean and variance. Assuming the first image at time t=t₁ is a reference image, then the normalized second image at time t=t₂ can be given by

$\begin{matrix} {{{{\hat{I}}_{ij}\left( t_{2} \right)} = {{\frac{\sigma_{1}}{\sigma_{2}}\left\lbrack {{I_{ij}\left( t_{2} \right)} - \mu_{2}} \right\rbrack} + \mu_{1}}},} & ({B11}) \end{matrix}$

where I and I-hat are the intensity recorded at time t=t₂ and the normalized intensity, and σ_(i) and μ_(i) are the mean and standard deviation of the intensity values recorded within unmasked regions in image at time t=t_(i).

The velocity estimation with the approaches herein can lead to solve a nonlinear system of equations that may have multiple solutions depending on texture structures in an image sequence. For example, to estimate a velocity field within a featureless region, the velocity field may not be unique because the initial and final positions by tracking a particular particle cannot be physically determined. This inconsistency between physical motion and observation in a featureless region is the intrinsic physical property of the inverse problem in a real world. The realistic motion fields may have multiple possibilities which satisfy the same equations and can be consistent with the same physical observation. The multiple solutions in the inverse problem by solving a nonlinear system can be congruent with this physical property.

In order to approach a globally minimized solution using iteration equations (B10), an algorithm of progressive relaxation of the over-constraint (PROC) that adapts a variable resolution of the velocity structure during the iterations can be employed in this framework. An initial block size parameter n₀ can be always set to be greater than a preset value of the block size n at initial iteration, and can reach a preset value of n at the end of the iteration. The velocity field can be regularized by changing the block size parameter n from a larger value (higher degree of over-constraint) to a smaller one (lower degree of over-constraint) by one on every N-th iterations until it approaches a preset value of n. The PROC algorithm can be helpful for seeking a flow field in which each vector is consistent with its neighbors.

All initial displacement field vectors can be preset to be equal to 0.01. The initial Levenberg-Marquardt factor λ can be set to 0.001. The procedures can start from a set of preset initial values of the velocity field, then an iteration step at a fixed pixel point based on the previous iterative velocity field and the iterative equations in (B10) can be performed. Furthermore, employing a principle similar to that of the Gauss-Seidel iteration algorithm, updated values of u_(pq) ^((m)) and v_(pq) ^((m)) on the right-hand side of (B10) can be used as soon as they become available during the iteration processing. After all pixels are scanned in the above iteration procedures, the program can then check the convergent criteria by comparing between previous MSE^((m-1)) (before the iteration) and current MSE^((m)) (after the iteration). If the MSE^((m-1)) is greater than the MSE^((m)), then the program can take the next iteration. Otherwise, the Levenberg-Marquardt factor λ can be multiplied by ten and the iteration procedures can be repeated again until the MSE^((m))<MSE^((m-1)). Combining the PROC algorithm, it can be found that the program always converges to a solution for almost all test cases for remote sensing datasets.

If a Peak Signal-to-Noise Ratio (PSNR) is defined by

${{PSNR} = {10{\log_{10}\left( \frac{{\max \left( {I_{ij}\left( t_{1} \right)} \right)}^{2}}{MSE} \right)}}},$

three typical converging curves that demonstrate PSNR versus the converged iteration index with different initial displacement vectors (in pixel scale) for estimating the velocity field using the PROC algorithm can be plotted. The second-order convergence properties by the Gauss-Newton and Levenberg-Marquardt methods can indicate that the PSNR for the image sequence has a sharp increase within first five iterations. However, a convergence to a static value of 43.0 (dB) can be approached after forty four iterations for all different initial guesses.

The flow field estimation framework has been validated on both synthetic and real world infrared image sequences. First, using the solution of a numerical simulation model as a benchmark, a surface tracer field can be introduced as an initial condition. Angular and magnitude measures of error can be introduced in this section, and their mean values can be applied to evaluate the performance of the velocity estimations. Finally, qualitative evaluations on can be used on real satellite-borne infrared images

In an exemplary embodiment of the invention, a system and method are described herein to estimate surface velocity between two successive images, such as two satellite images. A symmetric displaced frame difference, or displaced frame central difference, equation can be utilized with iterative equations, and Gauss-Newton and Levenberg-Marquardt algorithms can be formulated for the determination of velocity field. An adaptive framework for solving the nonlinear problem can be developed based on the SDFD equations, velocity field modeling, a nonlinear least-squares model, and an algorithm of progressive relaxation of the over-constraint for seeking a flow field in which each vector is consistent with its neighbors.

There are two major advantages using the SDFD equation in applications. The toughest problem is the convergent problem for resolving a nonlinear system with huge number of parameters. Therefore, the first advantage of the SDFD equation is that the scale of the displacement vector in the SDFD equation is only half of the total displacement of motion. The program using the SDFD equation can converge easily to a global optimal solution by iteration, even when the preset initial velocity field is far away from a converged solution. The second advantage is that the spatial derivatives in the iteration equation (B10) are for both images scenes for this nonlinear model. The average of the derivatives in equation (B9) for two tracer structures at different times can be helpful to improve the performance of the velocity estimation.

In an exemplary embodiment of the invention, a unified adaptive framework for motion field estimation from an image sequence is described herein. The computational and implementation complexities of the inverse problem have been greatly simplified by the new iteration approach with equations (B10) for full dense velocity estimation. Moreover, the resolved displacement vectors in an iteration procedure are only half of the total travel distance of a feature structure. Using the SDFD equation, the flow field by the adaptive framework can converge rapidly to a global optimal solution, especially for larger scale displacement estimation. Since both linear and nonlinear models are iterative, there is no significant difference in computation cost between the linear or nonlinear model in a single iteration.

The proposed approach using a smaller number of on-node velocity components to interpolate full density velocity field can have potential applications in both computer vision and remote sensing fields. The feature of robustness to noise by adjusting the block size is demonstrated using AVHRR image sequences in remote sensing applications.

Experimental evaluations, comparisons, and applications with a numerical simulation model and infrared image sequences have been demonstrated. Both average angular and magnitude error measurements between the estimated flow fields, and the numerical simulation model and the CODAR array indicate that the proposed work provides major improvement over the linear inverse model for the simulation and real AVHRR data sets.

The above examples are merely illustrative of several possible embodiments of various aspects of the present disclosure, wherein equivalent alterations and/or modifications will occur to others skilled in the art upon reading and understanding this specification and the annexed drawings. In particular regard to the various functions performed by the above described components (processor-executed processes, assemblies, devices, systems, circuits, and the like), the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component, such as hardware, processor-executed software, or combinations thereof, which performs the specified function of the described component (i.e., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the illustrated implementations of the disclosure. In addition, although a particular feature of the disclosure may have been illustrated and/or described with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Also, to the extent that the terms “including”, “includes”, “having”, “has”, “with”, or variants thereof are used in the detailed description and/or in the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.

Portions of the invention can comprise a computer program that embodies the functions described herein. Furthermore, the modules described herein, such as the tomography module, scope algorithm module, and optimization module, can be implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions. However, it should be apparent that there could be many different ways of implementing the invention in computer programming, and the invention should not be construed as limited to any one set of computer program instructions. Further, a skilled programmer would be able to write such a computer program to implement an exemplary embodiment based on the flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use the invention. The inventive functionality of the claimed computer is explained herein in more detail read in conjunction with the figures illustrating the program flow.

It should be understood that the foregoing relates only to illustrative embodiments of the present invention, and that numerous changes may be made therein without departing from the scope and spirit of the invention as defined by the following claims. 

1. A method for processing an image sequence, comprising the steps of: providing a symmetric displaced frame difference equation; receiving an input image sequence comprising a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times; and using at least one processor, solving the symmetric displaced frame difference equation using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.
 2. The method of claim 1: wherein the multidimensional image data of the pair of frames is two-dimensional; and wherein the symmetric displaced frame difference equation is DFCD_(ij)=I(i+u_(ij)Δt_(h), j+v_(ij)Δt_(h),t₂)+−I(i−u_(ij)Δt_(h), j−v_(ij)Δt_(h),t₁)=0.
 3. The method of claim 1, wherein solving the symmetric displaced frame difference equation comprises using at least one iteration equation derived from the symmetric displaced frame difference equation by conversion to a fully or over-constrained system using a nonlinear least squares model of the displacement field.
 4. The method of claim 1, wherein solving the symmetric displaced frame difference equation comprises using at least one bilinear polynomial function expressing a multidimensional displacement field.
 5. A motion estimator apparatus, comprising: at least one processor; and a memory storing a symmetric displaced frame difference equation; the at least one processor operative to receive an input image sequence comprising a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times; and the at least one processor operative to solve the symmetric displaced frame difference equation using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.
 6. The motion estimator apparatus of claim 5: wherein the multidimensional image data of the pair of frames is two-dimensional; and wherein the symmetric displaced frame difference equation is DFCD_(ij)=I(i+u_(ij)Δt_(h), j+v_(ij)Δt_(h),t₂)+−I(i−u_(ij)Δt_(h), j−v_(ij)Δt_(h),t₁)=0.
 7. The motion estimator apparatus of claim 5, wherein the at least one processor is operative to solve the symmetric displaced frame difference equation using at least one iteration equation derived from the symmetric displaced frame difference equation by conversion to a fully or over-constrained system using a nonlinear least squares model of the displacement field.
 8. The motion estimator apparatus of claim 5, wherein the at least one processor is operative to solve the symmetric displaced frame difference equation using at least one bilinear polynomial function expressing a multidimensional displacement field.
 9. A computer readable medium with computer executable instructions for: providing a symmetric displaced frame difference equation; receiving an input image sequence comprising a pair of image frames individually including multidimensional image data corresponding to a plurality of pixel locations at different times; and solving the symmetric displaced frame difference equation using an iteration equation and the image data of the pair of image frames to determine a displacement field describing displacement vectors at half of the total displacement vector.
 10. The computer readable medium of claim 9: wherein the multidimensional image data of the pair of frames is two-dimensional; and wherein the symmetric displaced frame difference equation is DFCD_(ij)=I(i+u_(ij)Δt_(h), j+v_(ij)Δt_(h),t₂)+−I(i−u_(ij)Δt_(h), j−v_(ij)Δt_(h),t₁)=0.
 11. The computer readable medium of claim 9, comprising computer-executable instructions for solving the symmetric displaced frame difference equation using at least one iteration equation derived from the symmetric displaced frame difference equation by conversion to a fully or over-constrained system using a nonlinear least squares model of the displacement field.
 12. The computer readable medium of claim 9, comprising computer-executable instructions for solving the symmetric displaced frame difference equation using at least one bilinear polynomial function expressing a multidimensional displacement field. 